Should I use @doc or @ngdoc?

The "@doc" documentation identifer and the "@ngdoc" documentation identifier provide different sets of logic for parsing, ordering, and rendering your documentation.

The "@ngdoc" plugin and any other plugins inherit from the "@doc" base plugin. This means "@ngdoc" provides the same module sections and basic rendering and behavior but adds additional sections, rendering, and behavior to support AngularJS based apps.

So, in short, if you are documenting AngularJS code, you would want to use "@ngdoc". If you are not, then you simply use "@doc".

But of course since "@ngdoc" inherits from "@doc", you could technically use "@ngdoc". Note that "@ngdoc" does override a few of the rendering methods of the base "@doc" plugin, but not in a way that would create a significant difference.